define(['app'], function(app) {
	app.register.controller('register', function($scope, $http, $state, $cookieStore, $rootScope, $filter) {
		$scope.register = true;//注册界面显示
		$scope.getmsg =true;//获取验证码字样显示
		$scope.timeout = false; //读秒隐藏
		$scope.isAjax = true;
        $scope.flase = false;
		
		$scope.blur=function(){//失焦事件
			var mobile = $('#account').val();//获取账号
			var len = mobile.length;//获取账号长度
			if(!mobile) {//没有输入账号
				$('.tips').text('账号为空，请输入账号').show();
				return false;
			}
            if(len<11&&len>0){
                $('.tips').text("您输入的号码格式有误").show();
                return false;
            }
		}
		
		$scope.keyup = function() {//当按钮被松开时，发生 keyup 事件,它发生在当前获得焦点的元素上
			var mobile = $('#account').val();
			var len = mobile.length;
			var exp=/^1[3|4|5|7|8][0-9]{9}$/;//验证账号正则
			$('.tips').hide();
            if(len<11){
                $('#btn-getmsg').removeClass('active');
                return false;
            }
			if(len == 11&&exp.test(mobile)==false){//账号为11位，但不是账号
                $('#btn-getmsg').removeClass('active');
				$('.tips').text("您输入的号码格式有误").show();
				return false;
			}
			if(len == 11&&exp.test(mobile)==true) {//账号输入正确
				$('.tips').hide();
				$('#btn-getmsg').addClass('active');//获取验证码按钮变亮
			} 
		}
        $scope.getmessage = function() {//点击获取验证码按钮
			if(!$scope.isAjax){
				return false;
			}
			$scope.isAjax = false;
            var mobile = $.trim($('.register-wrap input[name="mobile"]').val());
            var len = mobile.length;
            var exp=/^1[3|4|5|7|8][0-9]{9}$/;//验证账号正则
            if(len == 11&&exp.test(mobile)==true) {//账号输入正确
                $('.tips').hide();
                $('#btn-getmsg').addClass('active');//获取验证码按钮变亮
                $http({//发送请求
                    url: app._baseUrl + '/Pub/Public/registerSend',//请求：登录注册-验证码发送接口
                    method: 'POST',
                    data: {
                        phone: mobile
                        // type:1//类型1，账号注册验证码
                    },
                    headers: {
                        'Content-Type': 'application/x-www-form-urlencoded'
                    }
                }).success(function(res, header, config, status) {
                	$scope.isAjax = true;
                    if(res.success) {//验证码已发送
                        $scope.getmsg = false;//获取验证码字样隐藏
                        $scope.timeout = true;//读秒显示
                        $scope.sec = 59;//59秒倒计时
                        var interval = setInterval(function() {//设置定时器
                            if($scope.sec > 0) {
                                $scope.sec--;
                            } else {
                                clearInterval(interval);
                                $scope.getmsg = true;//获取验证码字样显示
                                $scope.timeout = false;//读秒隐藏
                            }
                            $scope.$digest();//脏数据检验
                        }, 1000);

                    } else {//验证码验证错误
						// console.log(res)
                        $('.tips').text(res.message).show();
                    }
                })
            }


        }
		$scope.next = function(phone) {//给按钮下一步添加点击事件
			var mobile = $.trim($('.register-wrap input[name="mobile"]').val()),//账号
				message = $.trim($('.register-wrap-2 input[name="message"]').val());//	验证码
			$scope.message = message;
			if(!mobile || !message) {//账号或验证码不全
				$('.tips').text('账号和验证码不能为空').show();
				return false;
			}
			$http({
				url: app._baseUrl + '/Pub/Public/verify',//请求：登录验证-验证码验证接口
				method: 'POST',
				data: {
					verifyCode: message,
					phone: mobile
				},
				headers: {
					'Content-Type': 'application/x-www-form-urlencoded'
				}
			}).success(function(res) {//接口请求成功
				if(res.success) {//验证码发送成功
					$rootScope.phonenumber = mobile;//将账号赋给全局变量，保存起来，注册时用
					$scope.register = false;//注册界面隐藏
					$scope.gonext = true;//下一步设置界面显示
					$('.tips').hide();
				} else {//验证码发送错误
					$('.tips').text('验证码错误，请重新输入').show();
				}
			}).error(function(res, header, config, status) {//接口请求失败
				$('.tips').text('服务器错误，请稍后再试').show();
				return false;
			});
		};
		$scope.reged = function() {//注册添加点击事件
			var name = $.trim($('.register-wrap input[name="account"]').val()),//用户名
				pass = $.trim($('.register-wrap-2 input[name="password"]').val());//密码
				
			if(!name || !pass) {//没有用户名或密码
				$('.tips').text('用户名和密码不能为空').show();
				return false;
			}
			if(pass.length<6){//密码长度小于6位
				$('.tips').text('密码长度不得小于六位').show();
				return false;
			}
			if(pass.length>=6&&pass.length<=12){//密码长度在6-12之间
				$http({
				url: app._baseUrl + '/Pub/Public/register',//请求：登录注册-注册接口
				method: 'POST',
				data: {
					phone:$rootScope.phonenumber,//账号
					user_name:name,//用户名
					password:pass,//密码
                    verifyCode:$scope.message
				},
				headers: {
					'Content-Type': 'application/x-www-form-urlencoded'
				}
			}).success(function(res) {
				if(res.success) {//数据判断正确
					$scope.gonext = false;//本页面隐藏
					$scope.success = true;//注册成功页面显示
					$scope.second = 10;//倒计时10秒
					$('.tips').hide();
						var interval = setInterval(function() {//倒计时定时器
								if($scope.second > 0) {
									$scope.second--;
								} else {
									clearInterval(interval);//清除定时器
					                $scope.gologin();//跳转到登录页面
					                
								}
								$scope.$digest();//脏数据检验
							}, 1000);
					
				} else {//发送数据错误
					$scope.gonext = false;//本页面隐藏
					$scope.flase = true;//错误页面显示
					$('.tips').hide();
				}
			}).error(function(res, header, config, status) {//请求接口错误
				$('.tips').text('服务器错误，请稍后再试').show();
				return false;
			});
			}
			
		};
     
     $scope.gologin=function(){//回到登录页面一个点击事件
            var url = $state.href('access.login');//跳转到登录页面
            window.location.href=url;        
     };
     
     $scope.goregedit=function(){//再试一次添加点击事件
            $scope.false=false;//错误页面隐藏
            $scope.register=true;//注册页面显示
     }

	});
});